package com.example.demo.huawei;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 字符串序列判定
 * 题目描述：
 * 输入两个字符串 S和L，都只包含英文小写字母。S长度<=100，L长度<=500,000。
 * 判定S是否是L的有效子串。
 * <p>
 * 判定规则：
 *   S 中的每个字符在 L 中都能找到（可以不连续），且S在Ｌ中字符的前后顺序与S中顺序要保持一致。
 *   （例如，S=”ace”是L=”abcde”的一个子序列且有效字符是a、c、e，而”aec”不是有效子序列，且有效字符只有a、e）
 * <p>
 * 输入输出描述：
 * 输入描述：
 *   输入两个字符串S和L，都只包含英文小写字母。S长度 <= 100，L长度 <= 500,000。
 *   先输入S，再输入L，每个字符串占一行。
 * ————————————————
 * <p>
 * 版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。
 * <p>
 * 输出描述：
 *   S串最后一个有效字符在L中的位置。（首位从0开始计算，无有效字符返回-1）
 * <p>
 * 输入：
 * ace
 * abcde
 * 输出：
 * 4
 * <p>
 */
public class Main9 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        String l = sc.nextLine();

        char[] sArr = s.toCharArray();
        char[] lArr = l.toCharArray();
        // 行不通
        // aaa
        //aaabaaa 没法通过 map无法处理包含重复字符的情况
        //        Map<Character, Integer> map = new LinkedHashMap<>();
        //        for (int i = 0; i < sArr.length; i++) {
        //            for (int j = 0; j < lArr.length; j++) {
        //                if (sArr[i] == lArr[j]) {
        //                    map.put(sArr[i], j);
        //                    break;
        //                }
        //            }
        //        }
        //        if (map.size() == sArr.length) {
        //            for (int i = 0; i < sArr.length - 1; i++) {
        //                if (map.get(sArr[i]) > map.get(sArr[i + 1])) {
        //                    System.out.println(-1);
        //                    break;
        //                }
        //            }
        //            System.out.println(map.get(sArr[sArr.length - 1]));
        //        } else {
        //            System.out.println(-1);
        //        }
        //ace
        //  abcde
        //4
        int i = 0;
        int j = 0;
        while (i < sArr.length && j < lArr.length) {
            if (sArr[i] == lArr[j]) {
                i++;
            }
            j++;

        }
        if (i == sArr.length) {
            System.out.println(j - 1);
        } else
            System.out.println(-1);
    }
}
